package com.kh.pajx.sop.dao.user;

import java.util.List;

import com.kh.pajx.sop.base.IBaseDao;
import com.kh.pajx.sop.domain.SysInsideUser;

/**
 * 内部用户数据库持久化操作接口
 * @author:	azzcsimp
 * @Createdate:	2014年7月21日 上午8:45:50
 */
public interface ISysInsideUserDao extends IBaseDao<SysInsideUser> {
	
	/**
	 * 根据部门编号获取内部用户信息
	 * @param groupCode 用户组编号
	 * @param userStatus 用户状态
	 * @return List<SysInsideUser> 内部用户信息列表
	 * @throws Exception   
	 * @author:	azzcsimp
	 * @Createdate:	2015年1月2日 下午2:08:07
	 */
	List<SysInsideUser> findUserByGroup(String groupCode, int userStatus) throws Exception;
	
	
	
	
	
	
	
	
	
	
	
	
	
	// =========================以下为需要整理或废弃方法===================================	
	
	/**
	 * 根据手机号获取用户信息
	 * @param phone 手机号
	 * @return   
	 * @author:	azzcsimp
	 * @Createdate:	2014年12月3日 下午6:11:13
	 */
	List<SysInsideUser> getUserByPhone(String phone);
	
	/**
	 * 根据登录名和密码获取内部用户信息
	 * @param account 登录账户
	 * @param password 登录密码
	 * @return   内部用户信息
	 * @author:	azzcsimp
	 * @Createdate:	2014年7月21日 下午3:53:50
	 */
	SysInsideUser getUserByAccountAndPassword(String account, String password);

	/**
	 * 根据用户组编码获取内部用户信息列表
	 * @param groupCode 用户组编码
	 * @return   
	 * @author:	azzcsimp
	 * @Createdate:	2014年7月23日 下午5:18:59
	 */
	List<SysInsideUser> getUserByGroupCode(String groupCode);
	
	List<SysInsideUser> getUserByGroupCode(String groupCode, int flag);
	
	/**
	 * 根据角色编码获取用户内部信息列表
	 * @param roleCode 角色编码
	 * @return   
	 * @author:	azzcsimp
	 * @Createdate:	2014年7月23日 下午5:19:24
	 */
	List<SysInsideUser> getUserByRoleCode(String roleCode);
	
	List<SysInsideUser> getUserByRoleCode(String roleCode, int flag);
	List<SysInsideUser> getUserByRoleCode(String roleCode, int flag ,String deptCode);
	/**
	 * 根据部门编码获取内部用户信息列表
	 * @param deptCode
	 * @return   
	 * @author:	azzcsimp
	 * @Createdate:	2014年7月23日 下午5:19:47
	 */
	List<SysInsideUser> getUserByDeptCode(String deptCode);
	
	List<SysInsideUser> getUserByDeptCode(String deptCode, int flag);
	
	List<String> getUserIdListByDeptCode(String deptCode);

	/**
	 * 根据角色编码获取内部用户条目数
	 * @param usrCode 角色编码
	 * @return   
	 * @author:	azzcsimp
	 * @Createdate:	2014年7月23日 下午5:53:44
	 */
	long countUserByRoleCode(String usrCode);

	/**
	 * 根据部门编码获取内部用户条目数
	 * @param deptCode
	 * @return   
	 * @author:	azzcsimp
	 * @Createdate:	2014年7月23日 下午6:18:22
	 */
	long countUserByDeptCode(String deptCode);
	
	/**
	 * 获取内部用户简要信息
	 * @param isuId
	 * @return   
	 * @author:	azzcsimp
	 * @Createdate:	2014年11月12日 下午3:46:09
	 */
	public List<String[]> getUserSimple();
}
